package com.wyp168.leetcode;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @ClassName OrderedStreamd
 * @Description TODO  有 n 个 (id, value) 对，其中 id 是 1 到 n 之间的一个整数，value 是一个字符串。不存在 id 相同的两个 (id, value) 对。设计一个流，以 任意 顺序获取 n 个 (id, value) 对，并在多次调用时 按 id 递增的顺序 返回一些值。
 * @Author wyp168
 * @Date 2022/8/16 08:14
 */
public class OrderedStream {

    private String[] strings;
    private int ptr = 0;

    public OrderedStream(int n) {
        strings = new String[n];
    }

    public List<String> insert(int idKey, String value) {
        List<String> res = new ArrayList<>();
        strings[idKey - 1] = value;
        List<String> list = Arrays.asList(this.strings);
        if (ptr == idKey - 1) {
            while (ptr < strings.length && strings[ptr] != null) {
                res.add(strings[ptr]);
                ptr ++;
            }
        }
        return res;
    }
}
